package com.doraemon.service;

import com.doraemon.entity.AddressBook;

import java.util.List;

/**
 * 地址簿管理Service
 **/
public interface AddressBookService {

    /***
     * 查看当前登录用户的所有地址信息
     * ---
     * @param
     * @return: com.doraemon.result.Result<java.util.List < com.doraemon.entity.AddressBook>>
     */
    List<AddressBook> getListAddressBook();

    /***
     * 新增地址
     * ---
     * @param addressBook 地址实体
     * @return: com.doraemon.result.Result
     */
    void addAddressBook(AddressBook addressBook);

    /***
     * 查询默认地址
     * ---
     * @param
     * @return: com.doraemon.result.Result<com.doraemon.entity.AddressBook>
     */
    AddressBook getDefaultAddressBook();

    /***
     * 根据id查询地址
     * ---
     * @param id 地址id
     * @return: com.doraemon.result.Result<com.doraemon.entity.AddressBook>
     */
    AddressBook getAddressBookById(Long id);

    /***
     * 根据id删除地址
     * ---
     * @param id 地址id
     * @return: com.doraemon.result.Result
     */
    void deleteAddressBookById(Long id);

    /***
     * 修改地址
     * ---
     * @param addressBook 地址实体
     * @return: com.doraemon.result.Result
     */
    void update(AddressBook addressBook);

    /***
     * 设置默认地址
     * ---
     * @param addressBook 地址实体
     * @return: com.doraemon.result.Result
     */
    void setDefaultAddressBook(AddressBook addressBook);
}
